home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 1 / PC World Interactive 1 - Nisan 1997.iso / nostalji / altin / vball / top_01.inc < prev    next >
Encoding:
Text File  |  1995-08-27  |  1.8 KB  |  151 lines

  1. var
  2.  top_eb:array[0..1] of record
  3.                gmi:boolean;
  4.                tbas_ad:word;
  5.               end;
  6.  
  7. Procedure Top_Sakla;assembler;
  8. asm
  9.  push DS
  10.   cmp ekr_no,0
  11.   jne @1
  12.   mov DI,80
  13.   mov BX,offset top_eb+1
  14.   jmp @2
  15. @1:mov DI,2*maxx*13+80
  16.    mov BX,offset top_eb+4
  17. @2:
  18.   imul SI,[top].y,2*maxx
  19.   mov AX,obj_x
  20.   shr AX,1
  21.   shr AX,1
  22.   add SI,AX
  23.   add SI,ekr_adress
  24.   mov [BX],SI
  25.  
  26.   mov DX,03c4h
  27.   mov AX,0f02h
  28.   out DX,AX
  29.   mov DX,03ceh
  30.   mov AX,4105h
  31.   out DX,AX
  32.  
  33.   mov AX,0a000h
  34.   mov ES,AX
  35.   mov DS,AX
  36.  
  37.  
  38.    mov BX,13
  39. @3:mov CX,4
  40.    rep movsb
  41.    add SI,2*maxx-16/4
  42.    add DI,2*maxx-16/4
  43.    dec BX
  44.    jne @3
  45.  
  46.  
  47.   {mov DX,03ceh}
  48.   mov AX,4005h
  49.   out DX,AX
  50.  
  51.  pop DS
  52.  
  53. end;
  54.  
  55. Procedure Top_EskiGor;assembler;
  56. asm
  57.  cld
  58.  cmp ekr_no,0
  59.  jne @1
  60.  mov SI,offset top_eb
  61.  mov BX,40*2
  62.  
  63.  jmp @2
  64. @1:mov SI,offset top_eb+3
  65.    mov BX,2*maxx*13+80
  66. @2:
  67.   lodsb
  68.   or Al,Al
  69.   je @son
  70.  
  71.   mov DI,[SI]
  72.   mov SI,BX
  73.  
  74.   mov DX,03c4h
  75.   mov AX,0f02h
  76.   out DX,AX
  77.   mov DX,03ceh
  78.   mov AX,4105h
  79.   out DX,AX
  80.  
  81.  push DS
  82.   mov AX,0a000h
  83.   mov ES,AX
  84.   mov DS,AX
  85.  
  86.    mov BX,13
  87. @3:mov CX,4
  88.    rep movsb
  89.    add DI,2*maxx-16/4
  90.    add SI,2*maxx-16/4
  91.    dec BX
  92.    jne @3
  93.  
  94.  
  95.   {mov DX,03ceh}
  96.   mov AX,4005h
  97.   out DX,AX
  98.  
  99.  pop DS
  100. @Son:
  101. end;
  102.  
  103. Procedure top_gor;assembler;
  104. asm
  105.  push DS
  106.  mov DX,03c4h
  107.  mov Al,02h
  108.  inc DX
  109.   imul DI,[top].y,2*maxx
  110.   mov AX,obj_x
  111.   mov CX,AX
  112.   shr AX,1
  113.   shr AX,1
  114.   add DI,AX
  115.   mov Ah,11h
  116.   and Cl,3
  117.   shl Ah,Cl
  118.  
  119.    add DI,ekr_adress
  120.    lds SI,top_p
  121.  
  122.   mov Bl,4
  123. @0:
  124.   mov Al,Ah
  125.   out DX,Al
  126.   mov Bh,13
  127. @1:
  128.  mov CX,16/4
  129. @2:
  130.  lodsb
  131.  or Al,Al
  132.  je @3
  133.   stosb
  134.   loop @2
  135.   jmp @4
  136. @3:
  137.  inc DI
  138.  loop @2
  139. @4:
  140.  add DI,2*maxx-16/4
  141.  dec Bh
  142.   jne @1
  143.  rol Ah,1
  144.  adc DI,0
  145.  sub DI,2*maxx*13
  146.  dec Bl
  147.    jne @0
  148.  pop DS
  149. end;
  150.  
  151.